package com.iwuke.dance.career.fragment.adapter;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.PopupWindow;
import android.widget.RelativeLayout;
import android.widget.TextView;

import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import com.iwuke.dance.R;
import com.iwuke.dance.util.ToastUtil;

import java.util.List;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;

/**
 * @author: 魏从响
 * @date: 2025/10/16
 */
public class AllActivityAndEventAdapter extends BaseQuickAdapter<String, BaseViewHolder> {
    private final Context context;

    public AllActivityAndEventAdapter(Context context, int adapterAllActivityAndEvent, List<String> lists) {
        super(adapterAllActivityAndEvent, lists);
        this.context = context;
    }

    @Override
    protected void convert(@NonNull BaseViewHolder baseViewHolder, String s) {
        //1 证书；2 赛事/演出/活动
        TextView tv_name = baseViewHolder.findView(R.id.tv_name);//叽里呱啦活动名称
        ImageView img_more_vertical = baseViewHolder.findView(R.id.img_more_vertical);//更多
        TextView tv_status = baseViewHolder.findView(R.id.tv_status);//展示中
        TextView tv_project_desc = baseViewHolder.findView(R.id.tv_project_desc);//项目：
        TextView tv_project = baseViewHolder.findView(R.id.tv_project);//街舞-Popping
        TextView tv_get_time = baseViewHolder.findView(R.id.tv_get_time);//获得时间：2023.6.24
        TextView tv_issuing_authority = baseViewHolder.findView(R.id.tv_issuing_authority);//发证单位：乐品文化
        ImageView img_honor_name = baseViewHolder.findView(R.id.img_honor_name);//荣誉名称

        if ("1".equals(s)){//1 证书
            tv_name.setText("证书名称");
            tv_project_desc.setText("项目：");
            tv_get_time.setText("获得时间：2023.6.24");
            tv_issuing_authority.setVisibility(View.VISIBLE);
            tv_issuing_authority.setText("发证单位：乐品文化");
        }else if ("2".equals(s)){//2 赛事/演出/活动
            tv_name.setText("叽里呱啦活动名称");
            tv_project_desc.setText("参赛项目：");
            tv_get_time.setText("获得时间：2023.6.24");
            tv_issuing_authority.setVisibility(View.GONE);
        }

        if ("1".equals(s)){//1 证书
            tv_status.setText("展示中");
            tv_status.setBackgroundResource(R.drawable.bg_radius10_color_5ed_shape);
        }else if ("2".equals(s)){//2 赛事/演出/活动
            tv_status.setText("审核中");
            tv_status.setBackgroundResource(R.drawable.bg_radius10_color_be_shape);
        }


        img_more_vertical.setOnClickListener((v)-> {
            showSelectQuantity(s);//当前条目数据
        });


    }

    private void showSelectQuantity(String s){
        if (null==context||((Activity)context).isFinishing()) {//防止内存泄漏
            return;
        }

        //对于 PopupWindow，正确的做法是在 inflate 时传入 null，但需要确保在创建 PopupWindow 对象时明确指定宽度和高度。你的代码已经做到了这一点，这是关键。
        //因此，消除这个警告最直接有效的方法是在 inflate 方法上使用 @SuppressLint 注解，明确告知编译器你了解这个情况并有意为之：
        @SuppressLint("InflateParams")
        View view = LayoutInflater.from(context).inflate(R.layout.dialog_event_and_activity, null);
        final PopupWindow popupWindow = new PopupWindow(view, RelativeLayout.LayoutParams.WRAP_CONTENT,
                RelativeLayout.LayoutParams.WRAP_CONTENT);
        //新方法：使用透明的 ColorDrawable   new ColorDrawable(Color.TRANSPARENT)和new BitmapDrawable()一样
        popupWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
        // 设置白色背景
        //popupWindow.setBackgroundDrawable(new ColorDrawable(Color.WHITE));
        //创建带圆角的背景 首先，在 res/drawable 目录下创建一个 XML 文件（如 popup_background.xml）：
        //popupWindow.setBackgroundDrawable(ContextCompat.getDrawable(context, R.drawable.popup_background));
        //使用 NinePatch 图片作为背景 如果你的设计需要更复杂的背景效果，可以使用 .9.png 图片：
        //popupWindow.setBackgroundDrawable(ContextCompat.getDrawable(context, R.drawable.your_nine_patch_background));
        //设置点击弹窗外隐藏自身
        popupWindow.setFocusable(true);
        popupWindow.setOutsideTouchable(true);
        //设置位置 在某个控件下面
//        popupWindow.showAsDropDown(tv_search,-10,10);
        //设置位置
        popupWindow.showAtLocation(view, Gravity.CENTER, 0, 0);

        TextView tv_delete = view.findViewById(R.id.tv_delete);//删除
        TextView tv_hide = view.findViewById(R.id.tv_hide);//隐藏
        tv_delete.setText(context.getString(R.string.string_delete));
        tv_hide.setText(context.getString(R.string.string_hide));

        if ("1".equals(s)){//1 审核
            tv_delete.setVisibility(View.VISIBLE);
            tv_hide.setVisibility(View.VISIBLE);
        }else if ("2".equals(s)){//2 展示
            tv_hide.setVisibility(View.GONE);
        }

        //删除
        tv_delete.setOnClickListener((v)-> {

            popupWindow.dismiss();
        });

        //隐藏
        tv_hide.setOnClickListener((v)-> {

            popupWindow.dismiss();
        });
    }

}
